package cn.seifly.demo.biz.system.dao;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.seifly.demo.ObjectUtils;
import cn.seifly.demo.biz.system.dao.entity.SystemConfigDO;

import cn.seifly.demo.biz.system.service.vo.SystemConfigVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

/**
 * 
 * @ClassName: SystemConfigDAO
 * @Description: TODO
 * @author: sxf
 * @date: 2025年11月09日 上午10:29:03
 */
@Mapper
public interface SystemConfigDAO extends BaseMapper<SystemConfigDO>{
    @Select("SELECT * FROM user WHERE id = #{id}")
    SystemConfigDO findById(Long id);

    static LambdaQueryWrapper<SystemConfigDO> getWrapper(SystemConfigVO systemConfigVO) {
        LambdaQueryWrapper<SystemConfigDO> wrapper = new LambdaQueryWrapper();
        if (ObjectUtils.isNotEmpty(systemConfigVO.getId())) {
            wrapper.eq(SystemConfigDO::getId, systemConfigVO.getId());
        }
        if (ObjectUtils.isNotEmpty(systemConfigVO.getMenuName())) {
            wrapper.eq(SystemConfigDO::getMenuName, systemConfigVO.getMenuName());
        }
        if (ObjectUtils.isNotEmpty(systemConfigVO.getType())) {
            wrapper.eq(SystemConfigDO::getType, systemConfigVO.getType());
        }
        if (ObjectUtils.isNotEmpty(systemConfigVO.getInputType())) {
            wrapper.eq(SystemConfigDO::getInputType, systemConfigVO.getInputType());
        }
        if (ObjectUtils.isNotEmpty(systemConfigVO.getConfigTabId())) {
            wrapper.eq(SystemConfigDO::getConfigTabId, systemConfigVO.getConfigTabId());
        }
        if (ObjectUtils.isNotEmpty(systemConfigVO.getParameter())) {
            wrapper.eq(SystemConfigDO::getParameter, systemConfigVO.getParameter());
        }
        if (ObjectUtils.isNotEmpty(systemConfigVO.getUploadType())) {
            wrapper.eq(SystemConfigDO::getUploadType, systemConfigVO.getUploadType());
        }
        if (ObjectUtils.isNotEmpty(systemConfigVO.getRequired())) {
            wrapper.eq(SystemConfigDO::getRequired, systemConfigVO.getRequired());
        }
        if (ObjectUtils.isNotEmpty(systemConfigVO.getWidth())) {
            wrapper.eq(SystemConfigDO::getWidth, systemConfigVO.getWidth());
        }
        if (ObjectUtils.isNotEmpty(systemConfigVO.getHigh())) {
            wrapper.eq(SystemConfigDO::getHigh, systemConfigVO.getHigh());
        }
//        if (ObjectUtils.isNotEmpty(systemConfigVO.getValue())) {
//            wrapper.eq(SystemConfigDO::getValue, systemConfigVO.getValue());
//        }
        if (ObjectUtils.isNotEmpty(systemConfigVO.getInfo())) {
            wrapper.eq(SystemConfigDO::getInfo, systemConfigVO.getInfo());
        }
//        if (ObjectUtils.isNotEmpty(systemConfigVO.getDesc())) {
//            wrapper.eq(SystemConfigDO::getDesc, systemConfigVO.getDesc());
//        }
//        if (ObjectUtils.isNotEmpty(systemConfigVO.getSort())) {
//            wrapper.eq(SystemConfigDO::getSort, systemConfigVO.getSort());
//        }
//        if (ObjectUtils.isNotEmpty(systemConfigVO.getStatus())) {
//            wrapper.eq(SystemConfigDO::getStatus, systemConfigVO.getStatus());
//        }
//        if (ObjectUtils.isNotEmpty(systemConfigVO.getLevel())) {
//            wrapper.eq(SystemConfigDO::getLevel, systemConfigVO.getLevel());
//        }
        if (ObjectUtils.isNotEmpty(systemConfigVO.getLinkId())) {
            wrapper.eq(SystemConfigDO::getLinkId, systemConfigVO.getLinkId());
        }
        if (ObjectUtils.isNotEmpty(systemConfigVO.getLinkValue())) {
            wrapper.eq(SystemConfigDO::getLinkValue, systemConfigVO.getLinkValue());
        }
        return wrapper;
    }
}